/**
 * Project Name:zyhj-admin
 * File Name:LpglController.java
 * Package Name:com.vviton.zyhj.admin.controller
 * Date:2016年11月15日下午6:04:39
 *
 */
package com.vviton.zyhj.admin.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.vviton.zyhj.admin.content.CommonConstants;
import com.vviton.zyhj.admin.content.SessionYwry;
import com.vviton.zyhj.admin.service.LpglService;
import com.vviton.zyhj.common.utils.ResultJson;
import com.vviton.zyhj.common.utils.page.Page;
import com.vviton.zyhj.common.view.ParamLpcx;
import com.vviton.zyhj.common.view.ParamLpxx;
import com.vviton.zyhj.common.view.ParamLpxxZt;
import com.vviton.zyhj.common.view.ViewLpxx;

/**
 * ClassName:LpglController <br/>
 * Function: 礼品管理Controller. <br/>
 * Date: 2016年11月15日 下午6:04:39 <br/>
 *
 * @author huangqq
 * @version 1.0
 * @since JDK 1.7
 */
@Controller
@RequestMapping("lpgl")
public class LpglController {

    /** 产品发布接口 */
    @Autowired
    private LpglService lpglervice;

    /**
     * insertLpxx,插入礼品信息（添加礼品）. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpxx 礼品信息
     * @param req HttpServletRequest
     * @return 执行结果
     * @since JDK 1.7
     */
    @RequestMapping("insertLpxx")
    @ResponseBody
    public ResultJson insertLpxx(@RequestBody ParamLpxx paramLpxx, HttpServletRequest req) {
        SessionYwry setHyncAndUserid = CommonConstants.getSessionYwry(req);
        String zh = setHyncAndUserid.getZh();
        paramLpxx.setOperatercode(zh);
        return lpglervice.insertLpxx(paramLpxx);
    }

    /**
     * updateLpxx,更新礼品信息. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpxx 礼品信息
     * @param req HttpServletRequest
     * @return 礼品信息
     * @since JDK 1.7
     */
    @RequestMapping("updateLpxx")
    @ResponseBody
    public ResultJson updateLpxx(@RequestBody ParamLpxx paramLpxx, HttpServletRequest req) {
        SessionYwry setHyncAndUserid = CommonConstants.getSessionYwry(req);
        String zh = setHyncAndUserid.getZh();
        paramLpxx.setOperatercode(zh);
        return lpglervice.updateLpxx(paramLpxx);
    }

    /**
     * getLpxxByLpid,根据礼品ID获取礼品信息. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param lpid 礼品ID
     * @param ywy 业务域
     * @return 礼品信息
     * @since JDK 1.7
     */
    @RequestMapping("getLpxxByLpid")
    @ResponseBody
    public ViewLpxx getLpxxByLpid(@RequestParam String lpid, @RequestParam String ywy) {
        return lpglervice.getLpxxByLpid(lpid, ywy);
    }

    /**
     * getLpxxList,查询礼品信息List. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpcx 礼品信息查询传参
     * @return 礼品分页信息
     * @since JDK 1.7
     */
    @RequestMapping("getLpxxList")
    @ResponseBody
    public Page getLpxxList(@RequestBody ParamLpcx paramLpcx) {
        return lpglervice.getLpxxList(paramLpcx);
    }

    /**
     * updateLpxxZt,礼品上下架. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月18日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月18日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpxxZt 礼品名称参数
     * @param req HttpServletRequest
     * @return 状态更新结果
     * @since JDK 1.7
     */
    @RequestMapping("updateLpxxZt")
    @ResponseBody
    public ResultJson updateLpxxZt(@RequestBody ParamLpxxZt paramLpxxZt, HttpServletRequest req) {
        SessionYwry setHyncAndUserid = CommonConstants.getSessionYwry(req);
        String zh = setHyncAndUserid.getZh();
        return lpglervice.updateLpxxZt(paramLpxxZt, zh);
    }

    /**
     * validateLpmc,校验礼品名称唯一性. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月18日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月18日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param paramLpxx 礼品信息
     * @return 礼品名称是否已存在
     * @since JDK 1.7
     */
    @RequestMapping("validateLpmc")
    @ResponseBody
    public ResultJson validateLpmc(@RequestBody ParamLpxx paramLpxx) {
        return lpglervice.validateLpmc(paramLpxx);
    }
}
